A computer network or data network is a telecommunications network which allows computers to exchange data. In computer networks, networked computing devices exchange data with each other along network links (data connections). Connections between nodes may be established using a variety of mediums, including cable media and wireless media.
Overlay network technology is commonly deployed for network virtualization. An overlay network is a virtual computer network that is built on top of another existing “underlay” network infrastructure. Nodes in the overlay network may be described as virtual machines (VM's) that are connected by virtual or logical links corresponding to paths that may each utilize multiple physical links of the underlying (underlay) network. Distributed systems such as peer-to-peer networks and client-server applications may be described as overlay networks because their nodes run on top of the Internet or other underlying communications network. Of note, while the Internet was originally built as an overlay upon an underlay telephone network, via Voice-over Internet Protocol (VoIP) mechanisms, telephone networks are now commonly overlay networks built on top of the Internet as underlay network.
Overlay network mechanisms generally use Media Access Control (MAC) in Internet Protocol (IP) tunneling technology to provide a Layer-2 or data link layer for node-to-node data transfer between two directly connected nodes, as an extension over a shared Layer-3 underlay infrastructure network layer that provides the functional and procedural means of transferring variable length data sequences (sometimes called datagrams) from one node to another connected to the same network. Using Layer-2 extensions of underlay network assets to define overlay network node mechanisms is useful in overcoming limitations of the physical underlay network hardware, such as those arising from server rack capacities and geographical location boundaries, and may achieve flexibility for workload placement within a data center or between different data centers.